1. Field of the Invention
The invention concerns transferring messages via networks generally and more particularly concerns transferring messages via networks in which there are subnetworks with different namespaces. An important area of application of the invention is high-bandwidth interactive services which use independent forward and return channels having different bandwidths.
2. Description of the Prior Art
An important problem in telecommunications is providing high-bandwidth interactive services to sites which do not have high-bandwidth two-way connections. An example of such a site is the average residential dwelling. A residential dwelling typically has two connections by which it may exchange data with the rest of the world. One of these is a connection to a cable TV (CATV) network. The other is a standard twisted pair telephone line. The CATV connections has high bandwidth, but may be used only to receive data, not send it. In the terminology used in this patent application, the CATV connection provides only a forward channel. The telephone line may be used to both send and receive data, and thus provides both a return channel and a forward channel, but both channels have low bandwidth.
Those who have studied the problem of providing high-bandwidth interactive services have noted that in many cases, the bandwidth required for the interaction is asymmetrical. One example is surfing the World Wide Web. The surfer sends the address of a Web page; the page is downloaded to the surfer""s computer; then the surfer responds with the address of another web page, and so forth. Another example is telecommuting. There are many jobs in which the worker examines a document and does something with it such as modifying it, making a comment, or sending it to someone else and then gets the next document. In most cases, the amount of information output by the worker when he/she works on the document is much smaller than the amount of information contained in the document itself. Thus, what both the Web surfer and the telecommuter need is a high bandwidth forward channel upon which he/she can receive the web pages or documents to be examined and a low-bandwidth return channel for the information that he/she is outputting.
A system for providing interactive services that have a high-bandwidth forward channel and a low-bandwidth return channel to residential dwellings is described in Moura, et al, U.S. Pat. No. 5,347,304, Remote Link Adapter for use in TV Broadcast Data Transmission System, issued Sep. 13, 1994. That entire patent is hereby incorporated by reference into the present patent application. FIGS. 1 and 2 of the present patent application are copies of the corresponding FIGS. of the Moura patent. As shown in FIG. 1, the system of Moura uses a CATV or broadcast TV channel as the high-bandwidth forward channel and has an independent low-bandwidth return channel. The return channel may be a circuit in the public switched telephone network or any other channel which is independent of the forward channel. Information provider site 10 and each of the remote sites has an address in the network formed by the forward channel, the return channel, the information provider site, and the remote sites.
The data in the forward channel comes from host computers in information provider site 10; the data communications equipment makes packets containing the data. Each packet includes a message which contains the data and a header. The header contains at least the address of the source of the message and the address of the destination of the message. In this case, the source address is the address of information provider site 10 and the destination address is the address of one of the remote sites. The packet goes from data communications equipment to hybrid transmission facility 10, which employs a radio frequency modem to convert the digital packet into a form proper for its transmission over the TV channel and provides it to head end or broadcast site 14. At each remote site, a remote link adapter (RLA) which includes another radio frequency modem watches the TV channel for packets addressed to its remote site. When it detects such a packet, it converts the packet into a form proper for its transmission over the network connecting data terminal equipment (DTE) such as a personal computer and the RLA and provides the packet to the DTE. As can be seen from the foregoing, the forward channel is in fact a packet network, and will be termed in the following a forward packet network.
When the user of the DTE responds to the data that has been sent him/her via the forward packet network, the response goes to the RLA, which sends it via the telephone line in the user""s dwelling and the public switched telephone network data communications equipment at information provider 10, which in turn provides the response to the host computers at information provider site 10.
The Moura patent provides substantially no disclosure about the return channel. One particularly useful form of return channel is a packet network. Such a return channel is termed in the following a return packet network. When the return channel is a return packet network, the packets that contain the response must include a header with the address of the remote site as a source address and the address of the data provider as a destination address. This is all straightforward enough, but it necessarily assumes that the forward packet network and the return packet network have the same set of addresses. If they do not, the addresses necessary to communicate with sources and destinations in the forward packet network must be added to the return packet network.
Adding addresses may be difficult for several reasons:
if there is a large number of provider sites and remote sites, a substantial increase in the size of the return packet network""s address data bases will be required;
a considerable time must be spent updating the return packet network""s address data bases with the new names; and
the return packet network""s address data bases must track changes in remote sites and data provider sites in the forward packet network.
These problems are particularly difficult if the return packet network is not under control of the entity that controls the forward packet network. Precisely that is the case when a public packet network such as those made available by internet access providers is used as the return packet network. Using such a public packet network as the return packet network in the system of Mourra is however particularly advantageous, first, because the necessary infrastructure already exists, and second because the competition of the public packet networks for traffic reduces the cost of the return channel to the user.
The need to add addresses to the return packet network is a specific example of a general problem with packet networks: each packet network has a namespace, that is, a set of addresses that it recognizes as sources of or destinations for packets. If a packet network receives a packet whose source or destination address is not part of the namespace of the network, the message is not forwarded. Because that is the case, a packet network cannot include subnetworks (such as the forward packet network and return packet network in the implementation of Moura described above) that have different namespaces. When a packet which originated in a first subnetwork with a first namespace enters a second subnetwork with a second namespace, the second subnetwork will reject the packet. Consequently, a packet with source and destination names from a subnetwork having a first namespace cannot be sent via a subnetwork having a second namespace. As described above, the only way of presently solving this problem is to add the source and destination addresses to the second namespace.
It is an object of the invention disclosed herein to provide techniques for sending a packet via a path that crosses packet subnetworks with different namespaces.
The object of the invention may be attained by the following method:
when the packet enters a given one of the subnetworks and a current header of the packet does not specify a destination in the given one of the subnetworks, adding a new header to the packet and treating the new header as the current header, the new header specifying an exit destination where packets transferred via the path enter another one of the subnetworks;
sending the packet to the destination specified in the current header; and
if the packet arrives at the exit destination, removing current header and providing the packet to the other subnetwork.
The portion of the method which adds the new header is termed encapsulation, and may be performed in apparatus called an encapsulator. The portion of the method which removes the current header is termed decapsulation and may be performed in apparatus called a decapsulator.
One application of the technique is in packet networks having a first subnetwork as a forward channel and a second subnetwork as a return channel. The encapsulator receives packets with addresses in the first subnetwork, appends the new header with the address of the decapsulator in the second subnetwork, and provides the packet to the second subnetwork. The second subnetwork sends the packet to the decapsulator, which removes the new header and provides the packet to the first subnetwork.
In a particular application of the technique, the forward channel is a TV channel and the return channel is a packet network to which access may be had by means of a public modem pool. When a user is accessing the packet network by means of a modem in the public modem pool, a temporary address in the packet network is associated with the modem. In this application, the encapsulator has a connection of a modem in the public modem pool, and has received the temporary address associated with the modem. The header added by the encapsulator includes the temporary address and the address of the decapsulator. The encapsulator may receive the address of the decapsulator via either the first packet network or the second packet network.